package com.castle.fortress.admin.oa.dto;

import com.castle.fortress.admin.oa.entity.HolidayTypeEntity;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.Date;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * 用户假期余额 实体类
 *
 * @author whc
 * @since 2022-11-03
 */
@Data
@ApiModel(value = "userHolidaySetting对象", description = "用户假期余额")
public class UserHolidaySettingDto implements Serializable {
	private static final long serialVersionUID = 1L;
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "ID")
	@JsonProperty("id")
	private Long id;
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "对应用户")
	@JsonProperty("userId")
	private Long userId;
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "对应的假期类型")
	@JsonProperty("holidayTypeId")
	private Long holidayTypeId;
	@ApiModelProperty(value = "总计时长(天/小时)")
	@JsonProperty("totalAmount")
	private BigDecimal totalAmount;
	@ApiModelProperty(value = "剩余时长(天/小时)")
	@JsonProperty("surplusAmount")
	private BigDecimal surplusAmount;
	@ApiModelProperty(value = "状态")
	@JsonProperty("status")
	private Integer status;
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "创建人")
	@JsonProperty("createUser")
	private Long createUser;
	@DateTimeFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@ApiModelProperty(value = "创建时间")
	@JsonProperty("createTime")
	private Date createTime;
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "更新人")
	@JsonProperty("updateUser")
	private Long updateUser;
	@DateTimeFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@ApiModelProperty(value = "更新时间")
	@JsonProperty("updateTime")
	private Date updateTime;
	@ApiModelProperty(value = "所属用户姓名")
	@JsonProperty("username")
	private String username;

	@ApiModelProperty(value = "关联类型")
	@JsonProperty("holidayTypeEntity")
	private HolidayTypeEntity holidayTypeEntity;

}
